Logs এবং Metrics Collection ArangoDB-এর পারফরম্যান্স মনিটরিং এবং সমস্যা সমাধানের জন্য গুরুত্বপূর্ণ উপাদান। Logs আপনাকে সার্ভারের বিভিন্ন কার্যক্রমের বিস্তারিত ট্র্যাক রাখতে সাহায্য করে, এবং Metrics Collection আপনাকে ডেটাবেসের অবস্থা, পারফরম্যান্স এবং রিসোর্স ব্যবহার পর্যবেক্ষণ করতে দেয়।
1. Logs in ArangoDB
ArangoDB তে logs ডাটাবেস এবং সার্ভার সংক্রান্ত কার্যক্রমের বিস্তারিত রেকর্ড রাখে, যেমন ডাটাবেসের ত্রুটি, অস্বাভাবিক আচরণ এবং অন্যান্য গুরুত্বপূর্ণ তথ্য।
Log Types
ArangoDB বিভিন্ন ধরনের লগ সাপোর্ট করে:
- Error Logs: ডাটাবেস এবং সার্ভার সম্পর্কিত ত্রুটি বা সমস্যা।
- Query Logs: কোয়েরি এক্সিকিউশনের তথ্য।
- Access Logs: সার্ভারের মাধ্যমে আসা HTTP রিকোয়েস্টের রেকর্ড।
- Slow Query Logs: ধীর কোয়েরি, যা পারফরম্যান্স অপটিমাইজেশনে সহায়ক।
Log ফাইল কনফিগারেশন
ArangoDB-এর লগ ফাইল কনফিগারেশন arangod.conf ফাইলে সেট করা যায়। এখানে লগ ফাইলের স্তর এবং আউটপুট ফাইলের পথ নির্ধারণ করা হয়।
[log]
level = info
file = /var/log/arangodb/arangod.log
লগ স্তর (Log Level)
- info: সাধারণ তথ্য লগ।
- warn: সতর্কতা লগ।
- error: ত্রুটি লগ।
- debug: ডিবাগ তথ্য লগ।
Log ফাইল পরিসংখ্যান
ArangoDB-এ arangod.log ফাইল সার্ভারের স্টেটাস, ত্রুটি, এবং অন্যান্য কর্মক্ষমতা তথ্য সংরক্ষণ করে। এই লগগুলো ব্যবহার করে আপনি সার্ভারের কার্যকলাপ এবং সমস্যাগুলি ট্র্যাক করতে পারেন।
Log এক্সেস
লগ ফাইল এক্সেস করতে, সাধারণত নিচের কমান্ড ব্যবহার করা হয়:
tail -f /var/log/arangodb/arangod.log
2. Metrics Collection in ArangoDB
ArangoDB পারফরম্যান্স এবং রিসোর্স ব্যবহারের পরিমাপের জন্য Metrics সরবরাহ করে। এই Metrics গুলি সার্ভারের কর্মক্ষমতা এবং ডেটাবেসের অবস্থা বিশ্লেষণে ব্যবহৃত হয়।
ArangoDB Metrics
ArangoDB বিভিন্ন পারফরম্যান্স মেট্রিকস সরবরাহ করে, যেমন:
- Query Performance: কোয়েরির এক্সিকিউশন সময় এবং ল্যাটেন্সি।
- Memory Usage: সার্ভারের মেমোরি ব্যবহার।
- CPU Usage: CPU ব্যবহারের হার।
- Disk Usage: ডিস্ক স্পেসের ব্যবহার।
- Active Connections: সক্রিয় কানেকশনের সংখ্যা।
Prometheus Metrics
ArangoDB Prometheus মেট্রিক্স এক্সপোজ করতে সক্ষম, যা সার্ভারের পারফরম্যান্স স্ট্যাটিস্টিক্স সংগ্রহ এবং বিশ্লেষণ করতে সাহায্য করে।
Prometheus Setup
Prometheus Integration-এর জন্য, প্রথমে Prometheus Exporter ইনস্টল করতে হবে, তারপর ArangoDB সার্ভারের মেট্রিক্স এক্সপোজ করতে হবে।
curl http://localhost:8529/_admin/metrics
এটি Prometheus এর জন্য একটি HTTP API রিটার্ন করবে, যা Prometheus সার্ভার মেট্রিক্স সংগ্রহ করতে পারে।
Grafana Integration
Grafana ব্যবহার করে আপনি ArangoDB এর মেট্রিক্স ভিজুয়ালাইজ করতে পারেন। Prometheus থেকে ডেটা সংগ্রহ করে Grafana ড্যাশবোর্ডে ভিজুয়াল রিপ্রেজেন্টেশন দেখানো যায়।
Metrices API
ArangoDB একটি Metrics API সরবরাহ করে যা সরাসরি মেট্রিক্স দেখতে সাহায্য করে:
curl http://127.0.0.1:8529/_admin/metrics
এটি সার্ভারের অবস্থা, মেমরি, CPU এবং ডিস্ক ব্যবহারের মতো মেট্রিক্স প্রদান করবে।
Logs এবং Metrics এর ব্যবহার
Logs এর ব্যবহার
- ত্রুটি শনাক্তকরণ: ডাটাবেসের মধ্যে ত্রুটি বা সমস্যা দ্রুত চিহ্নিত করা।
- পাওয়ারফুল ডায়াগনস্টিকস: সমস্যার উৎস বুঝতে সাহায্য করা।
- অ্যাক্সেস ট্র্যাকিং: সার্ভারে আসা HTTP রিকোয়েস্টগুলি ট্র্যাক করা।
- কোয়েরি ডিবাগিং: ধীর কোয়েরি সনাক্ত করা এবং অপটিমাইজেশন।
Metrics এর ব্যবহার
- পারফরম্যান্স মনিটরিং: ডাটাবেসের কর্মক্ষমতা এবং রিসোর্স ব্যবহারের পরিমাপ।
- রিসোর্স ব্যবস্থাপনা: মেমোরি, CPU এবং ডিস্ক ব্যবহারের পর্যবেক্ষণ।
- প্রাথমিক সমস্যা চিহ্নিতকরণ: অস্বাভাবিক পারফরম্যান্স বিশ্লেষণ করা।
- স্কেলিং পরিকল্পনা: সার্ভারের স্কেলিং এবং পারফরম্যান্স অপটিমাইজ করা।
সারাংশ
ArangoDB-তে Logs এবং Metrics Collection গুরুত্বপূর্ণ টুল যা ডাটাবেসের কর্মক্ষমতা এবং সঠিকতা নিরীক্ষণ এবং অপটিমাইজ করতে সহায়ক। Logs ত্রুটি এবং কোয়েরি সমস্যাগুলি চিহ্নিত করতে ব্যবহৃত হয়, আর Metrics পারফরম্যান্স এবং রিসোর্স ব্যবহারের পর্যবেক্ষণে সাহায্য করে। Prometheus এবং Grafana এর মতো টুলগুলি মেট্রিক্স এক্সপোজ এবং বিশ্লেষণের জন্য কার্যকর।
Read more